package com.basic.service;

import java.util.List;


public interface IBaseService <T> {
	/**
	 * 更新支付状态
	 * @param <VO>
	 * @param payManager
	 * @return
	 */
	public<VO> int updatePayStatus(VO payManager);
	
	
	
	
	 /**
     * 一对多关系
     * @param id
     * @return
     */
    public List<T> selectListById(int id);
    
    /**
     * 根据 ids 查询数据
     * @param ids
     * @return
     */
    List<T> selectListByIds(int[] ids);
    
    
    /**
	 * 一对多关联 VO
	 * @param <VO>
	 * @param id
	 * @return
	 */
	<VO> List<VO> getOrderLogVOSById(int id,  Class<VO> voClass);
    
    
    /**
     * 批量添加
     * @param <VO>
     * @param data
     * @param target
     * @return
     */
    <VO> int batchInsert(List<VO> data);
    
    /**
     * 批量添加
     * @param <VO>
     * @param data
     * @param target
     * @return
     */
    int batchInsert(List<T> data, int id);
    
    /**
     * 查询
     * 
     * @param id 稿件主键
     * @return 稿件
     */
    public T selectById(Integer id);

    /**
     * 查询稿件列表
     * 
     * @param manuscript 稿件
     * @return 稿件集合
     */
    public List<T> selectList(T manuscript);

    /**
     * 新增稿件
     * 
     * @param manuscript 稿件
     * @return 结果
     */
    public int insert(T manuscript);

    /**
     * 修改稿件
     * 
     * @param manuscript 稿件
     * @return 结果
     */
    public int update(T manuscript);

    /**
     * 批量删除稿件
     * 
     * @param ids 需要删除的稿件主键集合
     * @return 结果
     */
    public int deleteByIds(Integer[] ids);

    /**
     * 删除稿件信息
     * 
     * @param id 稿件主键
     * @return 结果
     */
    public int deleteById(Integer id);

    int count();
    
    long maxId();
    
    long minId();
    
}
